package rpc.frame.client.boot;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import rpc.frame.client.discovery.RpcServiceDiscovery;

import javax.annotation.Resource;

@Configuration
public class FrameClientRunner {

    @Resource
    private RpcServiceDiscovery rpcServiceDiscovery;

    /**
     * 1.从注册中心获取 服务端的地址
     *   1、读取根节点下的全部方法节点
     *   2、读取方法节点下的服务器阶段
     *   3、缓存起来
     *   4、监听zk 注册中心的变化 如果有变化需要更新缓存
     * 2.网络通信与服务端通信
     *   1、获取需要到动态代理的service
     *   2、动态代理生成
     *   3、动态代理进行网络通信
     *   4、通信 加解码
     *   5、返回结果给掉用的方法
     */
    public  void run(){
        rpcServiceDiscovery.serviceDiscovery();
    }
}
